using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("FramedRadioButton")]
	public class FramedRadioButton : MonoBehaviour
	{
		public enum FrameType
		{
			SINGLE,
			MULTI_LEFT_END,
			MULTI_RIGHT_END,
			MULTI_MIDDLE
		}

		public GameObject m_root => method_3<GameObject>("m_root");

		public GameObject m_frameEndLeft => method_3<GameObject>("m_frameEndLeft");

		public GameObject m_frameEndRight => method_3<GameObject>("m_frameEndRight");

		public GameObject m_frameLeft => method_3<GameObject>("m_frameLeft");

		public GameObject m_frameFill => method_3<GameObject>("m_frameFill");

		public RadioButton m_radioButton => method_3<RadioButton>("m_radioButton");

		public UberText m_text => method_3<UberText>("m_text");

		public float m_leftEdgeOffset => method_2<float>("m_leftEdgeOffset");

		public FramedRadioButton(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FramedRadioButton(IntPtr address)
			: this(address, "FramedRadioButton")
		{
		}

		public int GetButtonID()
		{
			return method_11<int>("GetButtonID", Array.Empty<object>());
		}

		public float GetLeftEdgeOffset()
		{
			return method_11<float>("GetLeftEdgeOffset", Array.Empty<object>());
		}

		public void Init(FrameType frameType, string text, int buttonID, object userData)
		{
			method_8("Init", frameType, text, buttonID, userData);
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public Bounds GetBounds()
		{
			return method_11<Bounds>("GetBounds", Array.Empty<object>());
		}
	}
}
